<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    /*Sting 字符转型*/

    /*
        在JS中所有数值都是Number类型，包括整数 和 浮点数 (小数)；
 
        在JS中可以表示的数字的最大值 : 
            Number.MAX_VALUE 
            1.7976931348623157e+308

        在JS中可以表示的数字的最小值 : 
            Number.MIN_VALUE    (大于0的最小值)
            5e-324
        
        控制台查看 : [console.log(Number.MAX_VALUE)]
        -如果使用Number表示的数字超过了最大值，
        则会返回一个
         Infinity 表示正无穷
        -Infinity 表示负无穷
        -Infinity 是字面量-
        使用typeof检查Infinity也会返回Number（数值型）
        
        NaN 是一个特殊的数字， 表示Not A Number 
            使用typeof 检查，返回Number类型
   */
   
   var a = 123;
   var b = "123";
   var f = NaN ;
   console.log(a,b);

   /*
   typeof 用来检查变量的类型

   语法 typeof 变量
   检查字符串时，会返回string
   检查数值时，会返回number
   */
   d = "abc" * "bcd";
   console.log(d);          //计算结果为NaN 
   console.log(typeof d);   //返回Number类型
   
   //NaN 是一个特殊的数字， 表示Not A Number 
   //使用typeof 检查，返回Number类型
   
   console.log(typeof a,typeof b,typeof f);
   console.log(Number.MAX_VALUE); 
   c = Number.MAX_VALUE * Number.MAX_VALUE;
   console.log(c); // 结果为Infinity （无穷的）
   
   
    //在JS中整数的运算基本可以保证精确
   var z = 112523 + 4555256;

    // 如果使用JS进行浮点数运算，可能得到一个不精确的结果
    // 所以千万不要使用JS进行 金额 或 精确度较高 的运算
   var z1 = 0.1 + 0.2;

   console.log(z,z1);
</script>
</html>
